• EL表达式语法结构

    ${expression}

  • EL存取变量

    EL存取变量数据的方法很简单,例如:${username},它的意思是取出某一范围中名称为username的变量。如果没有指定哪一个范围的username,那么它会依序从Page、Request、Seesion、Application范围进行查找。

    假设途中找到username,则直接回传,不再继续查找下去,如果所有范围内均没有查到,则回传null。

    属性范围在EL中的名称:

    | 属性名称 | 属性范围在EL中的名称 |
    | ———– | —————- |
    | Page | PageScope |
    | Request | RequestScope |
    | Session | SessionScope |
    | Application | ApplicationScope |

  • EL表达式用${}表示,可用在所有的HEML和JSP标签中,作用是代替JSP页面中复杂的JAVA代码

  • EL表达式可操作常亮、变量和隐式对象,最常用的隐式对象有${param}${paramValues}${param}表示返回请求参数中单个字符串的值,${paramValues}表示返回请求参数的一组值

  • pageScope表示页面范围的变量,requestScope表示请求对象的变量,sessionScope表示会话范围内的变量,applicationScope表示应用范围的变量

  • <%@ page isELIgnored="true"%>表示是否禁用EL语言,TRUE表示禁止,FALSE表示不禁止,JSP2.0中默认启用EL语言

  • 与范围有关的EL隐含对象包含以下四个:pageScope、requestScope、sessionScope和applicationScope,它们基本上就和JSP的pageContext、request、session以及application一样,在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息,例如:我们要取得session中存储的一个属性名为username的值,可以使用session.getAttribute("username")方法取得,在EL中则可以通过${sessionScope.username}取得。

  • 与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象,例如我们要取得用户的请求参数时,可以利用下面的办法:

    1
    2
    request.getParameter(String name);
    request.getParameterValues(String name);

    在EL中可以使用param和paramValues两者来取得数据:

    1
    2
    ${param.name}
    ${paramValues.name}